{
  "guild": {
    "id": "1361349522684510449",
    "name": "wafer.space Community",
    "iconUrl": "2025-11_media/fb143eaa45770cbb40493d09b625e98b-09FD1.png"
  },
  "channel": {
    "id": "1443243481744277565",
    "type": "GuildPublicThread",
    "categoryId": "1361349523724570941",
    "category": "general",
    "name": "Using gf180mcu_ocd_io in LibreLane",
    "topic": null
  },
  "dateRange": {
    "after": "2025-10-31T23:59:59.999+00:00",
    "before": "2025-12-01T00:00:00+00:00"
  },
  "exportedAt": "2026-05-11T11:20:46.6301612+00:00",
  "messages": [
    {
      "id": "1443243487565975665",
      "type": "Default",
      "timestamp": "2025-11-26T14:14:21.603+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Creating a thread to avoid spamming #general  \ud83d\ude05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83d\ude05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1443244568022614077",
      "type": "Default",
      "timestamp": "2025-11-26T14:18:39.204+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "And I also can't creae issues on the `gf180_ocd_io` repo because issues are disabled on it.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443245853434314906",
      "type": "Default",
      "timestamp": "2025-11-26T14:23:45.67+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Actually, I think there is no reason. I simply wanted to do it like the SCL library where you can just select a different one and all the views will point to that one instead. But the PAD library is a bit more complicated and just selecting a different one does not work that well.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 1
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443246927020953682",
      "type": "Default",
      "timestamp": "2025-11-26T14:28:01.633+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Well having the `PAD_CELL_LIBRARY` is nice. But ATM some of the config seem to be set in the base file based on replacing `$PAD_CELL_LIBRARY` and some config is set by loading the subdirectory tcl file.   And I think putting it all in the subdir file (possibly still using `$PAD_CELL_LIBRARY` so you can easily create new config for new IO lib by just copying and patching the little things needed.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\ud83d\udc4c",
            "code": "ok_hand",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44c-59547.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443247119489171467",
      "type": "Default",
      "timestamp": "2025-11-26T14:28:47.521+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Now I'm faced with the much more annoying issue that OpenROAD is segfaulting on me during GlobalRouting \ud83d\ude29",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\ud83d\ude35\u200d\ud83d\udcab",
            "code": "face_with_spiral_eyes",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f635-200d-1f4ab-AC747.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83d\ude29",
          "code": "weary",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f629-B734A.svg"
        }
      ]
    },
    {
      "id": "1443288385547669595",
      "type": "Default",
      "timestamp": "2025-11-26T17:12:46.116+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "\ud83c\udf89    Found what OR didn't like \ud83d\ude01",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\ud83d\udc4f",
            "code": "clap",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44f-3D381.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83c\udf89",
          "code": "tada",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f389-5C738.svg"
        },
        {
          "id": "",
          "name": "\ud83d\ude01",
          "code": "grin",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f601-4E9BD.svg"
        }
      ]
    },
    {
      "id": "1443308250480115724",
      "type": "Default",
      "timestamp": "2025-11-26T18:31:42.285+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "```\n292 Magic DRC errors found.\n47 LVS errors found.\n```",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443308363134931087",
      "type": "Default",
      "timestamp": "2025-11-26T18:32:09.144+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The DRC errors are in the corner cells and looking at the upstream repo, I think @Tim Edwards already fixed them a few hours ago.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1365118310701600900",
          "name": "rtimothyedwards_19428",
          "discriminator": "0000",
          "nickname": "Tim Edwards",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1443308430369493133",
      "type": "Default",
      "timestamp": "2025-11-26T18:32:25.174+00:00",
      "timestampEdited": "2025-11-26T18:32:29.98+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The LVS errors look related to the analog pads having DVSS shorted to ASIG5V ...",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\ud83d\ude36",
            "code": "no_mouth",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f636-300DD.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443310101103378593",
      "type": "Default",
      "timestamp": "2025-11-26T18:39:03.508+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@tnt: I've been chasing those errors all day long.  Hopefully it should be resolved by tomorrow.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443310525009367103",
      "type": "Default",
      "timestamp": "2025-11-26T18:40:44.575+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tim Edwards DRC or also the LVS one ?",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1365118310701600900",
          "name": "rtimothyedwards_19428",
          "discriminator": "0000",
          "nickname": "Tim Edwards",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1443310963406143600",
      "type": "Default",
      "timestamp": "2025-11-26T18:42:29.097+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The DRC one.  I should have time to look at the LVS issue but I was previously unaware of it.  The DRC issue has been bugging me for a while;  I just needed to find some time to work on it.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\ud83d\udc4c",
            "code": "ok_hand",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44c-59547.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "596068704471482370",
              "name": "246tnt",
              "discriminator": "0000",
              "nickname": "tnt",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443311648071880785",
      "type": "Default",
      "timestamp": "2025-11-26T18:45:12.334+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Ok. I'll just wait for the DRC one and keep digging on the LVS one, see if I can find what's the cause since it could very well be something on my side that I screwed up ...",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443313495406809332",
      "type": "Default",
      "timestamp": "2025-11-26T18:52:32.773+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tim Edwards BTW, did you adapt all the cells including `in_s` and `in_c` ?  Just to make sure I can also use those \ud83d\ude05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1365118310701600900",
          "name": "rtimothyedwards_19428",
          "discriminator": "0000",
          "nickname": "Tim Edwards",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
        }
      ],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83d\ude05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1443324442397769768",
      "type": "Default",
      "timestamp": "2025-11-26T19:36:02.739+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes.  All digital cells are 3.3V compatible.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\ud83d\udc4c",
            "code": "ok_hand",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44c-59547.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "596068704471482370",
              "name": "246tnt",
              "discriminator": "0000",
              "nickname": "tnt",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443330703466037389",
      "type": "Default",
      "timestamp": "2025-11-26T20:00:55.494+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@tnt:  The LVS issue is due to a wayward \"DVSS\" label that got lost and wandered off and stuck itself to the ASIG5V pad.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443333267301339167",
      "type": "Default",
      "timestamp": "2025-11-26T20:11:06.76+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I finally found the source of the label, hiding in the LEF file, under the sofa cushions.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443342413966872740",
      "type": "Default",
      "timestamp": "2025-11-26T20:47:27.495+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, I saw that in the LEF already, I was about to update the issue on github \ud83d\ude05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83d\ude05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1443342505641906318",
      "type": "Default",
      "timestamp": "2025-11-26T20:47:49.352+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Still have some other LVS issue but that'll have to wait a bit.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443343283567984671",
      "type": "Default",
      "timestamp": "2025-11-26T20:50:54.824+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I have confirmed that fixing the LEF caused the virtual short in the magic view to disappear.  It has been pushed.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\ud83d\udc4c",
            "code": "ok_hand",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44c-59547.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "596068704471482370",
              "name": "246tnt",
              "discriminator": "0000",
              "nickname": "tnt",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443357939221135501",
      "type": "Default",
      "timestamp": "2025-11-26T21:49:09.004+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Ok, yeah, remaining LVS is because one net gets extracted as `\\IO_CORNER_NORTH_WEST_INST.DVSS_RING_uq0`  and in the netlist it's `\\IO_CORNER_NORTH_WEST_INST.DVSS_RING` and that causes port mismatch.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443358096608202906",
      "type": "Default",
      "timestamp": "2025-11-26T21:49:46.528+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "manually fixing that up and running netgen on the result checks out just fine.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443358315735154828",
      "type": "Default",
      "timestamp": "2025-11-26T21:50:38.772+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "If that's a top-level port then you can avoid the unique name by doing `extract unique notopports`, which was how I got the SRAM to pass LVS.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443359282996314347",
      "type": "Default",
      "timestamp": "2025-11-26T21:54:29.385+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yeah, although technically they should be connected internally and not rely on any external connections.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443359367863734343",
      "type": "Default",
      "timestamp": "2025-11-26T21:54:49.619+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "if I use that option, it wouldn't check if they are connected or not.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443359490971009035",
      "type": "Default",
      "timestamp": "2025-11-26T21:55:18.97+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I mean, if all the DVSS nodes were not connected somewhow, it wouldn't spot it.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443359818592030730",
      "type": "Default",
      "timestamp": "2025-11-26T21:56:37.081+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "One way to get around it is just to copy enough of the connection between them inside the top level cell that magic sees that they are connected within the top level.  Magic does extraction on each individual cell without looking at what's in subcells that might be connecting things together.  Modifying that behavior is probably a lot of work.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\ud83d\udc4d",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "596068704471482370",
              "name": "246tnt",
              "discriminator": "0000",
              "nickname": "tnt",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443385708302831667",
      "type": "Reply",
      "timestamp": "2025-11-26T23:39:29.669+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Please do report segfaults upstream - OpenROAD should *never* segfault.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "reference": {
        "messageId": "1443247119489171467",
        "channelId": "1443243481744277565",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443598069747683423",
      "type": "Default",
      "timestamp": "2025-11-27T13:43:20.583+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "`21154 KLayout DRC errors found.`\n@Tim Edwards  \ud83d\ude22",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1365118310701600900",
          "name": "rtimothyedwards_19428",
          "discriminator": "0000",
          "nickname": "Tim Edwards",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
        }
      ],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83d\ude22",
          "code": "cry",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f622-BDD22.svg"
        }
      ]
    },
    {
      "id": "1443612854727999730",
      "type": "Default",
      "timestamp": "2025-11-27T14:42:05.597+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@tnt :  I assume those errors are coming from the I/O pads?  Can you send me the layout and DRC results?  I made many small changes to the I/O layouts, but they are still the same pads apart from swapping in a level shifter circuit in front of each digital pin.  However, I read in the I/O GDS and regenerated it from magic, so a single missing output layer or incorrect rule could have a massive effect.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1443612890308542486",
      "type": "Default",
      "timestamp": "2025-11-27T14:42:14.08+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Lots of them are more due to marker layers causing different rules to apply.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443613039332163695",
      "type": "Default",
      "timestamp": "2025-11-27T14:42:49.61+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Presence or absence of marker layers?  Did I manage to drop some ESD marker mask?",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443613173482651710",
      "type": "Default",
      "timestamp": "2025-11-27T14:43:21.594+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Absence.  Of ESD and Latchup.\nAnd then some Resistor marker layer added instead.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443613359441186937",
      "type": "Default",
      "timestamp": "2025-11-27T14:44:05.93+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Let me create a reproducible.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443613403745615922",
      "type": "Default",
      "timestamp": "2025-11-27T14:44:16.493+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Okay.  I'll need to regenerate them with mask hints for the marker layers.  I don't think it's going to be a huge effort.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443613646314803241",
      "type": "Default",
      "timestamp": "2025-11-27T14:45:14.326+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "This is the \"dirty\" part of \"quick & dirty\".",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443614548182568971",
      "type": "Default",
      "timestamp": "2025-11-27T14:48:49.348+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "```\nklayout -b -zz -r ${PDK_ROOT}/gf180mcuD/libs.tech/klayout/tech/drc/gf180mcu.drc -rd input=/mnt/pdk/OL2/pdk_root/gf180mcuD/libs.ref/gf180mcu_ocd_io/gds/gf180mcu_ocd_io.gds -rd report=drc.klayout.lyrdb -rd feol=True -rd beol=True -rd conn_drc=True -rd wedge=True -rd run_mode=deep -rd thr=16 -rd topcell=gf180mcu_ocd_io__bi_24t\n```",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\ud83d\udc4d",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "1365118310701600900",
              "name": "rtimothyedwards_19428",
              "discriminator": "0000",
              "nickname": "Tim Edwards",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443614636464148552",
      "type": "Default",
      "timestamp": "2025-11-27T14:49:10.396+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "this runs the DRC on only `gf180mcu_ocd_io__bi_24t` and will show the errors.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443614701471924254",
      "type": "Default",
      "timestamp": "2025-11-27T14:49:25.895+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I mean obviously you need to check all the cells, but that's a good start \ud83d\ude05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83d\ude05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1443614750545281205",
      "type": "Default",
      "timestamp": "2025-11-27T14:49:37.595+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "And runs much faster than a full chip DRC",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443627325651554395",
      "type": "Default",
      "timestamp": "2025-11-27T15:39:35.734+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@tnt :  Where are you getting the file `gf180mcu.drc` from?  I don't have that in my PDK.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1443627842603843656",
      "type": "Default",
      "timestamp": "2025-11-27T15:41:38.985+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tim Edwards Ah, from https://github.com/wafer-space/gf180mcu",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1365118310701600900",
          "name": "rtimothyedwards_19428",
          "discriminator": "0000",
          "nickname": "Tim Edwards",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1443627972866211920",
      "type": "Default",
      "timestamp": "2025-11-27T15:42:10.042+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I think it's just a top level calling all the rules deck. Probably on @Leo Moser (mole99) 's growing list of stuff to upstream \ud83d\ude05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "323371864074485771",
          "name": "mole99",
          "discriminator": "0000",
          "nickname": "Leo Moser (mole99)",
          "color": null,
          "isBot": false,
          "roles": [
            {
              "id": "1423020172595298314",
              "name": "Mod",
              "color": null,
              "position": 1
            }
          ],
          "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
        }
      ],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83d\ude05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1443628877648760984",
      "type": "Default",
      "timestamp": "2025-11-27T15:45:45.759+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Exactly \ud83d\ude01",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 1
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83d\ude01",
          "code": "grin",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f601-4E9BD.svg"
        }
      ]
    },
    {
      "id": "1443630030155677748",
      "type": "Default",
      "timestamp": "2025-11-27T15:50:20.538+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "That file belongs in https://github.com/fossi-foundation/globalfoundries-pdk-libs-gf180mcu_fd_pv",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [
        {
          "title": "GitHub - fossi-foundation/globalfoundries-pdk-libs-gf180mcu_fd_pv",
          "url": "https://github.com/fossi-foundation/globalfoundries-pdk-libs-gf180mcu_fd_pv",
          "timestamp": null,
          "description": "Contribute to fossi-foundation/globalfoundries-pdk-libs-gf180mcu_fd_pv development by creating an account on GitHub.",
          "color": "#1E2327",
          "thumbnail": {
            "url": "2025-11_media/globalfoundries-pdk-libs-gf180mcu_fd_pv-6EC75",
            "width": 1200,
            "height": 600
          },
          "images": [],
          "fields": [],
          "inlineEmojis": []
        }
      ],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\ud83d\udc4d",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "323371864074485771",
              "name": "mole99",
              "discriminator": "0000",
              "nickname": "Leo Moser (mole99)",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443630248796225596",
      "type": "Default",
      "timestamp": "2025-11-27T15:51:12.666+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "First I need to merge: https://github.com/wafer-space/gf180mcu/pull/1\nand ensure there aren't any regressions.",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 1
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443630842881769664",
      "type": "Default",
      "timestamp": "2025-11-27T15:53:34.307+00:00",
      "timestampEdited": "2025-11-27T15:55:13.533+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Is that file written in ~~rust~~ ruby?  I'm getting `ERROR: Can't run macro (no interpreter)` but I think I don't have ~~rust~~ ruby enabled in my version of klayout.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443631031898083410",
      "type": "Default",
      "timestamp": "2025-11-27T15:54:19.372+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "It's written in ruby, perhaps that is missing?",
      "author": {
        "id": "323371864074485771",
        "name": "mole99",
        "discriminator": "0000",
        "nickname": "Leo Moser (mole99)",
        "color": null,
        "isBot": false,
        "roles": [
          {
            "id": "1423020172595298314",
            "name": "Mod",
            "color": null,
            "position": 1
          }
        ],
        "avatarUrl": "2025-11_media/3c7c17f3225f6e56f4dccd83f14383f2-73F83.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443631120997683270",
      "type": "Default",
      "timestamp": "2025-11-27T15:54:40.615+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I meant ruby, sorry.  I thought rust was wrong, somehow.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443631297967821002",
      "type": "Default",
      "timestamp": "2025-11-27T15:55:22.808+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "All klayout drc are written in ruby AFAIK",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443631747731423406",
      "type": "Default",
      "timestamp": "2025-11-27T15:57:10.04+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I can run drc for each cell and post results if that's easier but  I  thought it'd be better if you could validate changes yourself",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443635400806760561",
      "type": "Default",
      "timestamp": "2025-11-27T16:11:41.001+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Posting results might be _quicker_ because I'm going to have to recompile klayout with ruby support.\n\nBut I did a layer-by-layer comparison between an original 5V I/O cell and my modified one, and I think I understand where I'm missing layers.  Some of my generated layers (DUALGATE, for example) are not the same size as the original but are probably still valid.  The main issue seems to be the missing \"latchup\" and \"ESD\" marker layers.  Both are just two rectangular areas under the pad, and easy to add with mask hints.\n\nThere is another issue with all FETs being marked as 5V due to the fact that the I/O library was created before I modified the handling of 5V/6V cells, but that's easy enough to correct and probably doesn't make a difference anyway.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443642653769207851",
      "type": "Default",
      "timestamp": "2025-11-27T16:40:30.242+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Arf, sorry for dissapearing ... went to grab a drink, knocked something over and spent the last 30 min cleaning up my mess \ud83d\ude05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83d\ude05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1443642668511920288",
      "type": "Default",
      "timestamp": "2025-11-27T16:40:33.757+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Running DRC now.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443644334280020068",
      "type": "Default",
      "timestamp": "2025-11-27T16:47:10.907+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [
        {
          "id": "1443644334045134879",
          "url": "2025-11_media/drc.tar-81A4F.bz2",
          "fileName": "drc.tar.bz2",
          "fileSizeBytes": 489451
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443644355616309481",
      "type": "Default",
      "timestamp": "2025-11-27T16:47:15.994+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tim Edwards",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\ud83d\udc4d",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "1365118310701600900",
              "name": "rtimothyedwards_19428",
              "discriminator": "0000",
              "nickname": "Tim Edwards",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
            }
          ]
        }
      ],
      "mentions": [
        {
          "id": "1365118310701600900",
          "name": "rtimothyedwards_19428",
          "discriminator": "0000",
          "nickname": "Tim Edwards",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1443652040147337440",
      "type": "Default",
      "timestamp": "2025-11-27T17:17:48.129+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "More work than I was expecting but shouldn't be too big of an issue.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\ud83d\udc4c",
            "code": "ok_hand",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44c-59547.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "596068704471482370",
              "name": "246tnt",
              "discriminator": "0000",
              "nickname": "tnt",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443687281402843216",
      "type": "Default",
      "timestamp": "2025-11-27T19:37:50.299+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "BTW, if there is anything I can do to help, I'd be happy to \ud83d\ude42",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83d\ude42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1443692963027882117",
      "type": "Default",
      "timestamp": "2025-11-27T20:00:24.904+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I may need to you run more klayout DRC checks.  But I need to get some updates pushed, first.  I have worked through most of the main errors already.  Fortunately the highest _count_ of errors was in the array contact spacing, which was easy to fix (although it exposed a way to get around magic's generation of wider-spaced 4x4-and-up arrays, which is to stack 4 or more 1xN contact arrays next to each other, which then magic no longer sees as a single \"large array\").",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [
        {
          "emoji": {
            "id": "",
            "name": "\ud83d\udc4d",
            "code": "thumbsup",
            "isAnimated": false,
            "imageUrl": "2025-11_media/1f44d-27259.svg"
          },
          "count": 1,
          "users": [
            {
              "id": "596068704471482370",
              "name": "246tnt",
              "discriminator": "0000",
              "nickname": "tnt",
              "color": null,
              "isBot": false,
              "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
            }
          ]
        }
      ],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443728643997171732",
      "type": "Default",
      "timestamp": "2025-11-27T22:22:11.91+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@tnt :  All right.  I think I have a good handle on all the issues.  I will push everything to the repository along with updates to open_pdks and everything should be ready to retest in the morning.  I may have missed one or two things but nothing looks like it can't be dealt with pretty easily.\n\nI do have to rethink the way I handle generating PPLUS and NPLUS around tap diffusion that is too close to an nwell edge, but I think I have methods now that will work right that weren't available when I originally wrote the GF180MCU tech file.  I haven't tested them yet;  instead I just made sure that all tap diffusion is well away from nwell edges.  It seemed like everything in the I/O library was just slightly closer than the limit that triggers the extra overlap (0.43um).",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1443743073019494441",
      "type": "Default",
      "timestamp": "2025-11-27T23:19:32.057+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tim Edwards - If you have docker installed you can get a docker container with the precheck with all the deps and PDK and everything.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1365118310701600900",
          "name": "rtimothyedwards_19428",
          "discriminator": "0000",
          "nickname": "Tim Edwards",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1443769333661565031",
      "type": "Default",
      "timestamp": "2025-11-28T01:03:53.082+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@tnt :  I have updated the PDK and the I/O library.  I don't know if I managed to get everything, but it should be a lot cleaner than before.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1443857796842913812",
      "type": "Default",
      "timestamp": "2025-11-28T06:55:24.348+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tim Edwards Indeed, it seems much cleaner now \ud83d\ude42",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1365118310701600900",
          "name": "rtimothyedwards_19428",
          "discriminator": "0000",
          "nickname": "Tim Edwards",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
        }
      ],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83d\ude42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1443858046341353575",
      "type": "Default",
      "timestamp": "2025-11-28T06:56:23.833+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [
        {
          "id": "1443858046018125895",
          "url": "2025-11_media/drc.tar-E2AD0.bz2",
          "fileName": "drc.tar.bz2",
          "fileSizeBytes": 12264
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443858128864284768",
      "type": "Default",
      "timestamp": "2025-11-28T06:56:43.508+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "only fillnc and bi_24t still have items.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443863673457082390",
      "type": "Default",
      "timestamp": "2025-11-28T07:18:45.442+00:00",
      "timestampEdited": "2025-11-28T07:19:15.744+00:00",
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I was looking at this extra overlap limit in the DRM and quite confused because on the diagrams that 0.43um is measured from the \"inside\" edge !?!",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443863699030016061",
      "type": "Default",
      "timestamp": "2025-11-28T07:18:51.539+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [
        {
          "id": "1443863698895667291",
          "url": "2025-11_media/2025-11-28_377x360_scrot-B65BC.png",
          "fileName": "2025-11-28_377x360_scrot.png",
          "fileSizeBytes": 36140
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443865401829101600",
      "type": "Default",
      "timestamp": "2025-11-28T07:25:37.518+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Just had a look at the exact errors and `filllnc` is just false positive because the cell can't be used by itself, it's too narrow but when put in the ring, there should be no errors ( although the `pr boundary` seems too wide ? )\n\nAnd the `bi_24t` is minor issues with nplus/pplus extension but trivial to fix with maskhints.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443916097295486978",
      "type": "Default",
      "timestamp": "2025-11-28T10:47:04.259+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tim Edwards Som in `bi_24t`, one of the issue is ... probably a bug in magic or somewhere because if I load the `.mag` and do `gds write gf180mcu_ocd_io__bi_24t` , then there is the issue, like this :",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1365118310701600900",
          "name": "rtimothyedwards_19428",
          "discriminator": "0000",
          "nickname": "Tim Edwards",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1443916121878040596",
      "type": "Default",
      "timestamp": "2025-11-28T10:47:10.12+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [
        {
          "id": "1443916121391628288",
          "url": "2025-11_media/2025-11-28_874x440_scrot-DE1E5.png",
          "fileName": "2025-11-28_874x440_scrot.png",
          "fileSizeBytes": 1906
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443916295870611467",
      "type": "Default",
      "timestamp": "2025-11-28T10:47:51.603+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Then I don't do anything else, but just re run the same `gds write` command and then the issue isn't there and the gap was bridged.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443916320499437669",
      "type": "Default",
      "timestamp": "2025-11-28T10:47:57.475+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [
        {
          "id": "1443916320218550422",
          "url": "2025-11_media/2025-11-28_919x492_scrot-9FABD.png",
          "fileName": "2025-11-28_919x492_scrot.png",
          "fileSizeBytes": 1936
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443918352925065301",
      "type": "Default",
      "timestamp": "2025-11-28T10:56:02.043+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The other one I fixed with this :\n```diff\n\ndiff --git a/magic/comp018green_out_paddrv_6T_PMOS_GROUP.mag b/magic/comp018green_out_paddrv_6T_PMOS_GROUP.mag\nindex 98627ee..6a58925 100644\n--- a/magic/comp018green_out_paddrv_6T_PMOS_GROUP.mag\n+++ b/magic/comp018green_out_paddrv_6T_PMOS_GROUP.mag\n@@ -3272,4 +3272,6 @@ use PMOS_metal_stack  PMOS_metal_stack_6\n timestamp 1758724778\n transform 1 0 809 0 1 496\n box -44 0 1584 12000\n+<< properties >>\n+string MASKHINTS_NPLUS 12251 -768 12331 14372\n << end >>\n```",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443918413968838667",
      "type": "Default",
      "timestamp": "2025-11-28T10:56:16.597+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "but maybe you have a more elegant way of preventing it in the first place \ud83d\ude05",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83d\ude05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1443975206061346876",
      "type": "Default",
      "timestamp": "2025-11-28T14:41:56.887+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@tnt :  Yes, that's where the nwell needs to be extended out to 0.43um to prevent the little stub of NPLUS from showing up.  The algorithm I came up with to deal with the extra overlap of NPLUS or PPLUS for diffusion edges close to an nwell edge works fine except when the diffusion is just slightly less than than the 0.43um limit away from the edge.  Obnoxiously, most of the nwells in the I/O cells have been drawn just slightly under this limit, which then unfortunately highlights where my algorithm doesn't work right.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1443975697264672860",
      "type": "Reply",
      "timestamp": "2025-11-28T14:43:53.999+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes, I've looked at that illustration before and decided it's an error in the illustration (one of many).",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "reference": {
        "messageId": "1443863673457082390",
        "channelId": "1443243481744277565",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1443978692891119626",
      "type": "Default",
      "timestamp": "2025-11-28T14:55:48.212+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I have a new chip-wide precheck running ATM, hopefully it will be clear.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443989488295739556",
      "type": "Default",
      "timestamp": "2025-11-28T15:38:42.037+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I made a few edits so that the tap diffusion is wide enough that the NPLUS and PPLUS overlap of contacts is the same width as the overlap of the diffusion, so the NPLUS and PPLUS form simple rectangles that don't need to be hierarchically checked to close up gaps between the shapes.  There was plenty of room to extend the taps outward and I should have done that earlier, just for the sake of the layout being cleaner.  So there will be one more round of updates and the I/O pads should be squeaky-clean by tomorrow.  I still need to rework the algorithm that generates the too-thin diffusion artifacts, but at least the errors only show up in pathological cases.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1443994259744227472",
      "type": "Default",
      "timestamp": "2025-11-28T15:57:39.639+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Ok, hopfully it will show up in a `ciel` release and I can use that to do the final build.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444001169528590347",
      "type": "Default",
      "timestamp": "2025-11-28T16:25:07.06+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "It cleared the KLayout DRC deck. Got some magic DRC errors from the pre-check but I suspect it's because the tech file isn't up to date.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444002448359428177",
      "type": "Default",
      "timestamp": "2025-11-28T16:30:11.957+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I didn't change the tech file on this round.  The DRC errors look like something that pops up after a GDS read, but I can reproduce them, so I'll take care of them.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444002799582183578",
      "type": "Default",
      "timestamp": "2025-11-28T16:31:35.695+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "No, actually I think I just cut a corner and made the last several changes without running on drc(full), so totally my fault.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444003458012418230",
      "type": "Default",
      "timestamp": "2025-11-28T16:34:12.677+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I still had the tech file from a while back.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444003474034393298",
      "type": "Default",
      "timestamp": "2025-11-28T16:34:16.497+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "It was an nwell spacing error?",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444003556708454480",
      "type": "Default",
      "timestamp": "2025-11-28T16:34:36.208+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Yes and also some via width < 0.28u",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444003720412266598",
      "type": "Default",
      "timestamp": "2025-11-28T16:35:15.238+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "`Via3 width < 0.28um (V3.1 + 2 * V3.4)`\n`MV N-well spacing < 0.74um (NW.2a)`\n`Via4 width < 0.28um (V4.1 + 2 * V4.4)`",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444005611175153716",
      "type": "Default",
      "timestamp": "2025-11-28T16:42:46.031+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The nwell spacing is due to a tiny notch in an nwell and I'm fixing it now.\nThe via3/via4 errors are more bothersome---I'm guessing that they come from the same issue in the corner cell where some via rows were spaced close enough together that they get merged by magic, but the rows are slightly offset so they produce slivers that are narrower than the contact after the merge.  But there seems to be some intermittent behavior there, because a few days ago I was fixing those, and after fixing all the errors I saw, I would re-write the GDS, and after reading the GDS back, the errors would appear again, somewhere else.  It was like sometimes it would merge the rows and sometimes it wouldn't.  I thought I had finally fixed the errors once and for all, but apparently not.  The error would not be from the tech file, it would be from the corner cell itself.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444006046229201100",
      "type": "Default",
      "timestamp": "2025-11-28T16:44:29.756+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Arrgh, yes, I can see them. . .",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444098359836278884",
      "type": "Reply",
      "timestamp": "2025-11-28T22:51:19.035+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I would really love to create some improved documentation with actually useful GDS examples (which can be rendered into diagrams) of these things which are unclear.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1365118310701600900",
          "name": "rtimothyedwards_19428",
          "discriminator": "0000",
          "nickname": "Tim Edwards",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
        }
      ],
      "reference": {
        "messageId": "1443975697264672860",
        "channelId": "1443243481744277565",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": []
    },
    {
      "id": "1444429180413546627",
      "type": "Default",
      "timestamp": "2025-11-29T20:45:52.807+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [
        {
          "id": "1444429179297861672",
          "url": "2025-11_media/drc_in_s.klayout-162CD.lyrdb",
          "fileName": "drc_in_s.klayout.lyrdb",
          "fileSizeBytes": 96786
        },
        {
          "id": "1444429179549515892",
          "url": "2025-11_media/drc_in_c.klayout-C61D6.lyrdb",
          "fileName": "drc_in_c.klayout.lyrdb",
          "fileSizeBytes": 96786
        },
        {
          "id": "1444429179797115022",
          "url": "2025-11_media/drc_bi_t.klayout-99BA4.lyrdb",
          "fileName": "drc_bi_t.klayout.lyrdb",
          "fileSizeBytes": 96789
        },
        {
          "id": "1444429180057026763",
          "url": "2025-11_media/drc_bi_24t.klayout-3EB84.lyrdb",
          "fileName": "drc_bi_24t.klayout.lyrdb",
          "fileSizeBytes": 96815
        },
        {
          "id": "1444429180287582470",
          "url": "2025-11_media/drc_bi_a.klayout-24AB6.lyrdb",
          "fileName": "drc_bi_a.klayout.lyrdb",
          "fileSizeBytes": 96789
        }
      ],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444429241721819326",
      "type": "Default",
      "timestamp": "2025-11-29T20:46:07.424+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tim Edwards Errors in NP from the latest cells.",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1365118310701600900",
          "name": "rtimothyedwards_19428",
          "discriminator": "0000",
          "nickname": "Tim Edwards",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1444429304149704928",
      "type": "Default",
      "timestamp": "2025-11-29T20:46:22.308+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "(sorry to be the bearer of bad news \ud83d\ude05 )",
      "author": {
        "id": "596068704471482370",
        "name": "246tnt",
        "discriminator": "0000",
        "nickname": "tnt",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83d\ude05",
          "code": "sweat_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f605-42B43.svg"
        }
      ]
    },
    {
      "id": "1444447852389732503",
      "type": "Default",
      "timestamp": "2025-11-29T22:00:04.553+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@tnt :  No problem, iterate until done.\nApparently I did not check the output after my last edit (sloppy or sleepy, not sure which.  Or sloppy because of sleepy).  Otherwise I would have seen that.  I just forgot to add 0.02um to the top of the nwells. . .  Sorry for forcing another round.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1444448121902989467",
      "type": "Default",
      "timestamp": "2025-11-29T22:01:08.81+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "I also still need to figure out why magic won't cleanly separate the VSS and DVSS when extracting the corner cell, because that's preventing a clean LVS on anything using the padframe.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444453911749595359",
      "type": "Default",
      "timestamp": "2025-11-29T22:24:09.217+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Now it's suddenly showing a property error in magic, but I think that's related to something that Mitch already pointed out to me, and it's a problem in magic that I need to look into.  It's not a problem in the layouts.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    },
    {
      "id": "1444505337028935690",
      "type": "Reply",
      "timestamp": "2025-11-30T01:48:29.959+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "Too much turkey? \ud83d\ude42",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "1365118310701600900",
          "name": "rtimothyedwards_19428",
          "discriminator": "0000",
          "nickname": "Tim Edwards",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
        }
      ],
      "reference": {
        "messageId": "1444447852389732503",
        "channelId": "1443243481744277565",
        "guildId": "1361349522684510449"
      },
      "inlineEmojis": [
        {
          "id": "",
          "name": "\ud83d\ude42",
          "code": "slight_smile",
          "isAnimated": false,
          "imageUrl": "2025-11_media/1f642-83E8A.svg"
        }
      ]
    },
    {
      "id": "1444506729642590270",
      "type": "Default",
      "timestamp": "2025-11-30T01:54:01.984+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@tnt :  I got klayout recompiled with ruby support, so I should be able to run the DRC myself from now on.  I just needed a little time away from the openframe project to get the compile done.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1444510814462541824",
      "type": "Default",
      "timestamp": "2025-11-30T02:10:15.881+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@tnt :  Also:  Confirmed that the I/O cells are finally DRC clean.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "596068704471482370",
          "name": "246tnt",
          "discriminator": "0000",
          "nickname": "tnt",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/88d17af9d19ab43565b0c46751ef7d12-DFEE5.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1444511223730278400",
      "type": "Default",
      "timestamp": "2025-11-30T02:11:53.458+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "@Tim 'mithro' Ansell :  I had duck, not turkey.  The wild turkeys have been wandering around my property recently.  I guess they know it's safe here.",
      "author": {
        "id": "1365118310701600900",
        "name": "rtimothyedwards_19428",
        "discriminator": "0000",
        "nickname": "Tim Edwards",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/6bcc8e61db497b620550682309ace5d5-D89B4.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [
        {
          "id": "169786952432746498",
          "name": "mithro_",
          "discriminator": "0000",
          "nickname": "Tim 'mithro' Ansell",
          "color": null,
          "isBot": false,
          "roles": [],
          "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
        }
      ],
      "inlineEmojis": []
    },
    {
      "id": "1444512008790867979",
      "type": "Default",
      "timestamp": "2025-11-30T02:15:00.631+00:00",
      "timestampEdited": null,
      "callEndedTimestamp": null,
      "isPinned": false,
      "content": "The google campus in MTV had the occasional wild turkey wandering around it.",
      "author": {
        "id": "169786952432746498",
        "name": "mithro_",
        "discriminator": "0000",
        "nickname": "Tim 'mithro' Ansell",
        "color": null,
        "isBot": false,
        "roles": [],
        "avatarUrl": "2025-11_media/9679bb77da48d47c905b398d98a83780-75B68.png"
      },
      "attachments": [],
      "embeds": [],
      "stickers": [],
      "reactions": [],
      "mentions": [],
      "inlineEmojis": []
    }
  ],
  "messageCount": 100
}